package main

import (
	"strings"
	"fmt"
)

func main() {
	a := "hellogo"
	//检测字符串中是否含有指定的字符串
	str := strings.Contains(a, "he")
	fmt.Println(str)

	//返回一个字符串在整个字符串中首次出现的位置
	index := strings.Index(a, "l")
	//不存在返回-1
	index1 := strings.Index(a, "a")
	fmt.Println(index)
	fmt.Println(index1)

	//指定次数复制字符串
	strs := strings.Repeat("hi", 5)
	fmt.Println(strs)

	//替换字符串，第一个参数是要替换的字符串，第二个是要替换的字符串，第三个是替换的新的字符串，第四个是替换个数，小于1替换所有
	replace := strings.Replace(a, "l", "s", -1)
	replace1 := strings.Replace(a, "l", "s", 1)
	fmt.Println(replace)
	fmt.Println(replace1)

	//取出字符串两边的指定字符串
	nilstr := "  aa bb cc   "
	astr := "aabbmma"
	nonil := strings.Trim(nilstr, " ")
	noa := strings.Trim(astr, "a")
	fmt.Println(nonil)
	fmt.Println(noa)

	//将一系列字符串连接为一个字符串，之间用指定符号来分割来分隔。
	qiestr := []string{"make", "hello", "go"}
	qie := strings.Join(qiestr, "&")
	fmt.Println(qie)

	//以字符串中出现的指定的字符串进行分割，会分割到结尾，并返回生成的所有片段组成的切片。如果指定分隔字符串为空字符，Split会将这整个字符串切分成每一个unicode码值
	//一个字符串。
	strqie := "a,b,c,d,e,f"
	strss := strings.Split(strqie, ",")
	strss1 := strings.Split(strqie, "")
	fmt.Println(strss)
	fmt.Println(strss1)

	/**
		更多例子参见go中文文档
		https://studygolang.com/static/pkgdoc/pkg/strings.htm
	 */
}
